II. Driver
The next step is basic driver setup. After this step the motor should be identified and basic parameters set.
In the next steps, you will need scripts that are delivered with SWTools. You can find them in the folder c:\silixcon\scripts\configuration\First_run\
Power on the controller
- Connect the battery (if not already connected)
- Switch on the powering switch
- Now you should hear a sound from the motor
- Connect USB (or CAN) cable to the controller
- Check your connection settings in Launchpad
- Open gmGUI and check if you can find the controller
Setup motor sensor
This step is only for VECTOR (FOC) firmware.
BLDC firmware does not need this step.
Run script 1-Motor_sensor_selection.ys
and follow the instructions.
What the script does:
- It login into the controller
- Set parameter
/driver/prest
to the value you enter
Not all sensors are supported at the same time. More info
Setup battery limits
This setting is optional. If is not set (leave it 0), the controller will not care about battery voltage or current.
- Battery max voltage:
/driver/limiter/ubmax
- Battery min voltage:
/driver/limiter/ubmin
- Battery max discharge current:
/driver/limiter/ibpos
- Battery max regen current:
/driver/limiter/ibneg
(The value is negative. )
Setup motor polepairs
Motor pole pair is not a critical parameter, but without it, the motor will not know how fast it is spinning. And speed limitation will not work.
Set parameter /driver/motor/pp
value to your motor polepairs.
Setup motor temperature protection
This setting is optional. But you can easily burn the motor if you set high phase currents.
- When temperature limitation starts:
/driver/limiter/mtemplo
- When temperature limitation is full:
/driver/limiter/mtemphi
The value of the parameters is in [ohm] of the motor temperature sensor.
Reading of the motor temperature is located in /driver/motor/Rthermistor
. The value is in [ohm]
Setup motor phase current
Parameter /driver/iref
will be maximum phase current at full throttle. The dimension is in [A] peak value (not RMS).
After that check parameter /driver/ipeak
and make it about 20% higher than iref
.
For no do not care about the meaning of ipeak
parameter.
Identify the motor
Run script 2-Motor_identification.ys
and follow the instructions.
If your battery is outside of the set limits (ubmin
and ubmax
), the identification will fail.
During the identification the motor will spin. Make sure that the motor can freely spin
Motor forward direction
The rotation direction during spin-up at the identrun is considered a positive direction.
Using wires
To change the direction, you can swap any two motor phases. But after that, it is necessary to run the identification again.
Using settings
Another way to change the direction is by changing the parameter /driver/ipeak
to a negative value.
Example:
/driver/ipeak
= 200 [A]- To reverse direction set:
/driver/ipeak
= -200 [A]
It's preferred to switch direction with wires, rather than with ipeak